//在www.icbc.com.cn域名时，正常访问window.appConfig; 如果在95588备域名，将appConfig全局替换掉再访问
window.appConfig = {
  // 旧的，可以不用看
  paas: {
    host: "papi.icbc.com.cn",
    context: "/icbc/iepa/oproxy",
    portalinfoContext: "/icbc/iepa/portalinfo",
  },
  // 多媒体资源
  media: {
    host: "media.icbc.com.cn",
  },
  // 新埋点
  hit: {
    host: "hit.icbc.com.cn",
    context: "/icbc/iepa/cmsadv",
  },
  // 动态接口
  papi: {
    host: "papi.icbc.com.cn",
    origin:"",
  },
  // pc网站
  www: {
    host: "www.icbc.com.cn",
  },
  // 手机网站
  m: {
    host: "m.icbc.com.cn",
  },
  // 前端资源
  v: {
    host: "v.icbc.com.cn",
  },
  // 门户搜索
  s: {
    host: "s.icbc.com.cn",
  },
  // 旧埋点
  act: {
    host: "act.icbc.com.cn",
  },
  // 个人网银
  mybank: {
    host: "mybank.icbc.com.cn",
  },
  wap2: {
    host: "wap2.icbc.com.cn",
  },

  mywap2: {
    host: "mywap2.icbc.com.cn",
  },
  // 企业网银
  corporbank: {
    host: "corporbank.icbc.com.cn",
  },
  "corporbank-cfca": {
    host: "corporbank-cfca.icbc.com.cn",
  },
  "corporbank-simp": {
    host: "corporbank-simp.icbc.com.cn",
  },
  // 全局 ，是否启用备域名
  enableBakHost: 0,
  // 埋点
  sugoio:{
    origin:"https://et.eiop.icbc.com.cn:443",
    token:"\u4ee5\u5b9e\u9645\u751f\u4ea7\u4e3a\u51c6",
    allbp:true,
  },
  // 结售汇计算器开关
  currencySwitch: "TRUE",
  logoStation:"true"
};
// 如果当前在备用域名（www.95588.com.cn）的话，会将以上所有都同步替换为备用域名，全局生效
try {
  if (
    /.95588./.test(location.host) &&
    !/(us.95588.com|www.95588.com.cn)/.test(location.host)
  ) {
    //when current host is bakhost（备域名）
    window.appConfig.enableBakHost = 1;
    var hostList = [];
    Object.keys(window.appConfig).forEach(function (key) {
      var host = window.appConfig[key].host;
      if (host) {
        hostList.push(host);
        window.appConfig[key].host = bakHostReplace("//" + host).replace("//","");
      }
    });
    // 对于业务直接维护的<a>标签链接的地址，对所有的<a>进行重写替换（只替换在域名清单appConfig范围内的）
    //replace appConfig with bakhost
    document.addEventListener("click", function (e) {
        var target = e.target || e.srcElement;
        var nodeName = target.nodeName.toLocaleLowerCase();
        while (nodeName != "body") {
          if(nodeName == 'a') {
            var href = target.getAttribute("href");
            href &&　target.setAttribute("href",bakHostReplace(href));
            break;
          }
          target = target.parentNode;
          nodeName = target.nodeName.toLocaleLowerCase();
        }
    });
    //window.open with bakhost
    window.open = (function (nativeOpen) {
      return function (url, windowName, windowFeatures) {
        url  = bakHostReplace(url);
        return nativeOpen(url, windowName, windowFeatures);
      };
    })(window.open);
  } else if (
    /.95588./.test(document.referrer) 
    && !/(us.95588.com|www.95588.com.cn)/.test(document.referrer) 
    && /(www|m).icbc.com.cn/.test(location.host)
  ) {
    //when ref is bakhost AND current host is www or m => location.href = bakhost
    location.href = bakHostReplace(location.href);
  }
  function bakHostReplace(str) {
    if(str.indexOf("//") == -1) return str;
    //zc综测域名
    if (location.host.indexOf(".sdc.cs.icbc") > -1) {
      return str
        .replace(/\/\/(media|hit|papi|www|m|v|s|act|mybank|wap2|mywap2|corporbank|corporbank-cfca|corporbank-simp)\.icbc\.com\.cn/gi,"//$1.95588.com")
        .replace(/\/\/(media|hit|papi|www|m|v|s|act|mybank|wap2|mywap2|corporbank|corporbank-cfca|corporbank-simp)-jd-([a-d])\.sdc\.cs\.icbc/gi, "//$1-jd-$2.95588.sdc.cs.icbc");
    }
    //mc莫测域名
    if (location.host.indexOf(".dccnet.com.cn") > -1) {
      return str
        .replace(/\/\/(media|hit|papi|www|m|v|s|act|mybank|wap2|mywap2|corporbank|corporbank-cfca|corporbank-simp)\.icbc\.com\.cn/gi,"//$1.95588.com")
        .replace(/\/\/(media|hit|papi|www|m|v|s|act|mybank|wap2|mywap2|corporbank|corporbank-cfca|corporbank-simp)([0-9]*)\.dccnet\.com\.cn/gi, "//$1$2.95588.dccnet.com.cn");
    }
    return str.replace(/\/\/(media|hit|papi|www|m|v|s|act|mybank|wap2|mywap2|corporbank|corporbank-cfca|corporbank-simp)\.icbc\.com\.cn/gi,"//$1.95588.com");
  }
} catch (error) {
  console.log(error);
}
// origin处理：因为写控件时，编辑器涉及很多接口，编辑器在执行时是一个about协议（编辑器是在iframe画布中执行，没有about协议头会有问题），所以执行完后需要进行统一替换
// 判断当前协议是否是about协议，如果是about协议，就要替换为http，否侧替换为//
// "//"会跟随当前访问的页面的协议，一般涉及a标签或者引用资源时，会写“//”
window.appConfig.papi.origin = (window.location.protocol =="about:"?"http://":"//" )+ window.appConfig.papi.host;